Here is a demo. I put your data in a string, not a file. You asked the same question in the Notes/Domino 4 and 5 forum. The method here is only for Notes/Domino 6.
Sub Click(Source As Button)
Const xml = {<NameList>
<Person>
<FirstName>John</FirstName>
<SurName>Wiliams</SurName>
<Address>
<Street>123 My Street</Street>
<Zip>0500</Zip>
</Address>
</Person>
<Person>
<FirstName>Paul</FirstName>
<SurName>Smith</SurName>
<Address>
<Street>222 Alabama Street</Street>
<Zip>0522</Zip>
</Address>
</Person>
</NameList>}
Dim session As New NotesSession
Dim xmlstream As NotesStream
Set xmlstream = session.CreateStream
xmlstream.WriteText xml
Dim parser As NotesDOMParser
Set parser = session.CreateDOMParser(xmlstream)
parser.Process
Dim people As NotesDOMNodeList
Set people = parser.Document.GetElementsByTagName("Person")
For i& = 1 To people.NumberOfEntries
Dim person As NotesDOMElementNode
Set person = people.GetItem(i&)
Dim address As NotesDOMElementNode
Set address = person.GetElementsByTagName("Address").GetItem(1)
Dim street As NotesDOMElementNode
Set street = address.GetElementsByTagName("Street").GetItem(1)
Dim zip As NotesDOMElementNode
Set zip = address.GetElementsByTagName("Zip").GetItem(1)
Messagebox "Person #" & Cstr(i&) _
& Chr$(10) & "Street: " & street.FirstChild.NodeValue _
& Chr$(10) & "Zip: " & zip.FirstChild.NodeValue
Next
End Sub